1. Field of the Invention
The present invention relates to a software structuring technique and an acceleration/deceleration control technique by which practically the entire control software is made to be common to all machine tools in numerical control of machine tools in any mechanical structure such as parallel mechanism machine tools and five-axis machine tools of various forms.
2. Description of the Prior Art
Machine tools of different kinds are known, and the control systems thereof are established by configurations of axes driven by motors. The configurations of axes differ between the machine tools such as a simultaneous two-axis control lathe, a simultaneous three-axis control machining center, a head-side rotation-type five-axis machine tool, a table rotation five-axis machine tool, a mixed mode five-axis machine tool, and a parallel mechanism machine tool.
In such various machine tools, a program coordinate system is defined and a movement trajectory of a tool in the program coordinate system is described in a NC program. It is a role of the numerical control device to operate the machine tool by driving the axes on the basis of the NC program. A numerical control process in a five-axis machine tool includes a tool length correction in five axes, a tool diameter correction in five axes, an interpolation control for accurately moving a tool tip in five axes, and a feed acceleration/deceleration control for clean rapid machining. Computation for each control is required to be based of rotating axes. Further, a computation method should be changed according to the configuration of axes. Therefore, changes corresponding to an axis configuration are unavoidable in each control process. Thus, technical examination is repeated each time the configuration of axes is changed, and where specific features are changed, functions that have similar but different portions are actuated each time the change is made. As a result, a plurality of functions are entangled and complexity is increased. For example, the tool length correction in five axes, interpolation control for accurately moving a tool tip in five axes, and feed acceleration/deceleration control for clean rapid machining are integrated together and cannot be separated from each other.
Further portions of the control processes relating to the configuration of axes should be extracted and converted to a black box, each control process should be simplified, and each control process should be facilitated by making common as many portions of the control processes as possible, but the extraction of portions relating to the configuration of axes is incomplete and the conversion to a black box is impossible. As a result, the software greatly increases in size and complexity and the development time and maintenance time are increased. This state will be explained below with reference to five-axis machine tools of two types and a parallel mechanism machine tool.
A five-axis machine tool usually has a total of five axes: three axes composed of XYZ linear axes and two rotating axes. The three linear axes are usually perpendicular to each other. The two rotating axes are designed to rotate a head side having a spindle, rotate a machine table having a work disposed thereon, or rotate the head and the machine table, respectively.
At the initial stage of numerical control of a head rotation-type five-axis machine tool, a work coordinate system parallel to the three XYZ linear axes is set as a NC program coordinate system, coordinate values in the work coordinate system of control points, which are the rotation centers of the rotating axes are found, and the machine tool is controlled by a NC program in which the operation of the machine tool is described by the rotating axis coordinates and the coordinate values of the control points in the work coordinate system. In such NC program the movement of the control points for cutting the work is described, without describing the movement trajectory of the tool.
The NC program of control point movement is created anew if the tool length changes. Accordingly, the problem is to create a numerical control that can be used as is even when a tool length changes. This problem has been resolved by a tool tip control in which the tool movement is described in coordinates of a tool tip. Thus, the aforementioned problem has been resolved by computing the coordinate values of control points correspondingly to the actual tool length and tool tilt and operating the machine tool on the basis of the calculated coordinate values.
However, this approach cannot be directly applied to a five-axis machine tool of a table rotation type that has a rotating axis that rotates the table. This is because the work rotates as the table rotates and therefore a parallel relationship of the coordinate system of the work and the XYZ coordinate axes of the machine tool is lost. This problem has been resolved, as described in Japanese Patent Application Publication No. 2003-195917, by taking a coordinate system rotating together with the machine table as a program coordinate system, describing a movement trajectory of the tool in the program coordinate system in the NC program, and using a five-axis conversion by which the movement trajectory of the tool is converted into axis coordinates by also taking the coordinate conversion that follows the table rotation into account. In other words, the tool tip control functions having the same objective have been developed as similar but different functions. However, in these tool tip control functions, the commands are different and important issues relating to usage are also different. Similarly to the tool tip control functions, five-axis tool diameter correction functions that shift a tool path by a designated correction amount have also been developed as similar but different functions for different axis configuration, although these functions have the same objective.
A parallel machine tool will be described below. From the user's standpoint, a parallel machine tool is identical to a five-axis machine tool. If the features of a parallel machine tool were almost common to other five-axis machine tools, the parallel machine tools would be developed rapidly and at a low cost. However, numerical control of parallel mechanism machine tools actually tends to be difficult and is handled in a special way. For example, Japanese Patent Application Publication No. H11-149306 describes a control in which smooth speed variations of a machining tool are enabled to improve the machining accuracy of a machine tool. Japanese Patent Application Publication No. 2005-56171 describes controlling a feed speed of each axis of a machine tool having axes that are not in the orthogonal coordinate system in a parallel mechanism machine tool or the like. Japanese Patent Application Publication No. 2001-92508 describes an invention relating to a control of a parallel mechanism machine tool. The description of Japanese Patent Application Publication No. 2001-92508 shows that each time a control of a parallel mechanism machine tool is developed, it is a time-consuming procedure.
In order to realize the control of parallel mechanism machine tools by using the techniques described in the aforementioned patent documents, a significant amount of work has been required or will be required in the future. A parallel mechanism machine tool is absolutely identical to other five-axis machine tool in that the control is realized with respect to a movement trajectory of a tool, and except for a difference in inverse kinematic relationship, all other differences should be ignored. Therefore, it will be little wonder if a numerical control device is realized that is constituted by software common to all machine tools including a parallel mechanism machine tool.
The acceleration/deceleration control will be explained below. Before the technique described in Japanese Patent Application Publication No. H11-149306 was developed, B acceleration/deceleration explained in FIG. 3 of Japanese Patent Application Publication No. H11-149306 was indispensable, but a final path included a path error caused by the B acceleration/deceleration. This path error is called an internal rotation error and considered to have a specific feature of assuming a value almost proportional to a second power of speed and a second power of a mechanical constant called a time constant. The time constant is a mechanical parameter corresponding to an allowed acceleration and is set to a small value if the allowed acceleration is high and to a large value is the allowed acceleration is low. Thus, in a large machine tool, the allowed acceleration is relatively small and therefore a large time constant is set. Where the B acceleration/deceleration is used to obtain smooth acceleration/deceleration of the machine tool, the path error, that is, the internal rotation error, is generated and the speed should be reduced to fit this error into an allowed range. Japanese Patent Application Publication No. H11-149306 discloses a technique for which the B acceleration/deceleration is unnecessary, a circular arc interpolation being an example thereof. Such a system is effective in the case of an inherently smooth curve such as a circular arc, but is not necessarily effective in applications to a NC program that describes a movement trajectory of a tool by a set of short linear command blocks that are typically used. This is because in the case of short linear blocks, the result of first-order interpolation described in Japanese Patent Application Publication No. H11-149306 is randomly produced on the original polygonal line since a tool path is bent on the boundaries of blocks, and therefore subsequent smooth polynomial interpolation is impossible. Further, a method of changing the tool path into a smooth curve that is called “nano-smoothing” has also been suggested, but the conditions under which the tool path can be smoothly changed by nano-smoothing are limited. For example, the conversion into a curve is impossible between the points in which angular deflection of the orientation of an advance direction vector of the tool path is too large. Therefore, when the control is performed on the basis of a NC program including sets of short linear blocks, which are typically used, it is impossible not to use the B acceleration-deceleration. Where the B acceleration/deceleration is used, the internal rotation error is generated in a smooth movement such as circular arc interpolation. Therefore, even when the movement at a higher speed is mechanically possible, since the internal rotation error is contained in the allowed value, the speed should be reduced. As a result, an acceleration/deceleration control is required that is effective with respect to any tool path and free from such speed reduction. Furthermore, it would be ideal if the acceleration/deceleration control can be commonly used by all machine tools.
There is also a machine tool that has two mutually parallel axes as an axis configuration and expands a movable area. For example, in a machine tool having W-axis parallel to Z-axis, such as shown in FIG. 1, the movable area in the vertical direction is expanded and works of a larger size can be machined. However, when the Z-axis and the W-axis are used simultaneously, various limitations are involved. Thus, other functions cannot be used, for example, tool diameter correction and circular arc interpolation cannot be used. Accordingly, in such a machine tool, a numerical control device is required that can adequately distribute the use of the Z-axis and W-axis and places no limitations on the use of other functions.